home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir43 / qsrc_dsk.zip / MODEL / CHKCODE.PRG < prev    next >
Text File  |  1991-12-17  |  2KB  |  67 lines

  1. *       ╓─────────────────────────────────────────────────────────╖
  2. *       ║                                                         ║
  3. *       ║ CHKCODE.PRG                                             ║
  4. *       ║                                                         ║
  5. *       ╟─────────────────────────────────────────────────────────╢
  6. *       ║ Application Developed in _Using FoxPro 2_               ║
  7. *       ║                                                         ║
  8. *       ║ Lisa C. Slater and Steven E. Arnott                     ║
  9. *       ║                                                         ║
  10. *       ║ Copyright (c) 1991 Que Publishing                       ║
  11. *       ║                                                         ║
  12. *       ╙─────────────────────────────────────────────────────────╜
  13.  
  14. the_code = VARREAD()
  15. * store the name of the variable being READ
  16.  
  17. IF EMPTY(EVALUATE("m."+the_code))
  18.      * check to see if the variable is empty
  19.      * using "m." again to distinguish the variable
  20.      * from a field of the same name
  21.  
  22.      RETURN .F.
  23. ENDIF
  24.  
  25. IF RECCOUNT() = 0
  26.      RETURN .T.
  27. ENDIF
  28.  
  29. mcode = EVALUATE("m."+the_code)
  30. * store the contents of the variable
  31.  
  32. mreturn = .T.
  33.  
  34. mrec = IIF(EOF(),0,RECNO())
  35. morder = ORDER()
  36. SET ORDER TO (the_code)
  37. * reference the name of the variable  
  38. * to set the order
  39.  
  40. IF SEEK(mcode) AND (addmode OR RECNO() # mrec)
  41.  
  42.          * if we are trying to add a record
  43.          * NO record in the database should
  44.          * have this code, regardless of what
  45.          * record we're on in the database
  46.  
  47.          * when we're NOT adding, a record with
  48.          * a different record number than mrec
  49.          * represents a problem, as it did before
  50.  
  51.          mreturn = .F.
  52.  
  53. ENDIF
  54.  
  55. SET ORDER TO (morder)
  56. IF mrec = 0
  57.      * we're at the End-of-File marker, not a 
  58.      * regular record
  59.  
  60.      GO BOTTOM
  61.      SKIP
  62. ELSE
  63.      GO mrec
  64. ENDIF        
  65.  
  66. RETURN mreturn 
  67.